#ifndef TRACK_DATA_SELECTED_INQUIRED_H
#define TRACK_DATA_SELECTED_INQUIRED_H

/*****************************************************************************************
  @copyright  2020-2021
  @date       2021-02-22
  @author     qiaowei
  @contact    weiweiqiao@126.com
  @version    1.0
  @brief      用户查询条件，单例模式
  @history
      @date   20210222
      @author qiaowei
      @brief  将类设置为单类，添加单类方法get_instance
              添加保存用户查询的字典selected_inquired_，添加返回字典的方法get_selected_inquired
              添加标识用户是否查询的标识符is_actived_变量。添加inquiry_is_actived方法，setup_inquired
              方法，对is_actived_变量进行取回、设置
******************************************************************************************/

#include <QObject>

class Track_data_selected_inquired : public QObject
{
    Q_OBJECT

public:
    /***************************************************************************
     @date     2021-02-22
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    静态方法，返回单例
    ***************************************************************************/
    static Track_data_selected_inquired* get_instance();

    /***************************************************************************
     @date     2021-02-22
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    返回保存用户查询的字典
    ***************************************************************************/
    QMap<QString, QString>* get_selected_inquired();

    /***************************************************************************
     @date     2021-02-22
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    返回用户是否进行条件查询的
     @return   true 用户进行条件查询；false 用户未进行条件查询
    ***************************************************************************/
    bool inquiry_is_actived() const;

    /***************************************************************************
     @date     2021-02-22
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    对用户是否进行条件查询的标志位进行设置
     @param    flag true用户进行条件查询；false 用户未进行条件查询
    ***************************************************************************/
    void setup_inquired(bool flag);

    ~Track_data_selected_inquired();

private:
    explicit Track_data_selected_inquired(QObject *parent = nullptr);


private:
    QMap<QString, QString>* selected_inquired_;

    bool is_actived_;

    static Track_data_selected_inquired* instance_;
};

#endif // TRACK_DATA_SELECTED_INQUIRED_H
